package es.ucm.fdi.pe.practica2.genetico2.seleccion;

import java.util.LinkedList;

import es.ucm.fdi.pe.practica2.genetico2.CromosomaAlumnos;

public class SeleccionTorneoAleatorio {
	
	private double p=0.5;

	public CromosomaAlumnos getAlumno(LinkedList<CromosomaAlumnos> poblacionAuxiliar, double alfa) {
		CromosomaAlumnos temp1;
		CromosomaAlumnos temp2;
		int pos1 = (int) (Math.random()*poblacionAuxiliar.size());
		int pos2 = (int) (Math.random()*poblacionAuxiliar.size());
		
		temp1 = new CromosomaAlumnos(poblacionAuxiliar.get(pos1));
		temp2 = new CromosomaAlumnos(poblacionAuxiliar.get(pos2));
		
		temp1.setFitness(alfa);
		temp2.setFitness(alfa);
		
	    if(temp1.esMejor(temp2) && Math.random()>p) //Torneo aleatorio, se escoge el mejor si aleatorio>p
	    	return temp1;
	    else
	    	return temp2;
	}
}
